home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 40
/
Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso
/
Aminet
/
misc
/
emu
/
ATUtilities.lha
/
ATUtilities
/
BASIC
/
SETSERV.BAS
< prev
next >
Wrap
BASIC Source File
|
2000-09-26
|
4KB
|
125 lines
rem ==============================================================
rem == Interrupt $0B: ==
rem == AH=Funktionsnummer ==
rem == ==
rem == AH=1: GetParamOffset ==
rem == => AL = JIntNummer ==
rem == <= DI = Offset ==
rem == ==
rem == AH=2: AllocJanusMem ==
rem == => AL = Speichertyp ==
rem == => BX = Anzahl der Bytes ==
rem == <= BX = Offset auf Speicher ==
rem == ==
rem == AH=3: FreeJanusMem ==
rem == => AL = Speichertyp ==
rem == => BX = Offset auf Speicher ==
rem == ==
rem == AH=4: SetParamOffset ==
rem == => AL = JIntNummer ==
rem == => BX = Offset ==
rem == ==
rem == AH=5: Nicht benutzt ==
rem == AH=6: Nicht benutzt ==
rem == ==
rem == AH=11: GetService ==
rem == => AL = Flags ==
rem == => CX = LocalID ==
rem == => DI = Offset von PCCustomer ==
rem == => SI = AppID (2. Wort) ==
rem == => DS = AppID (1. Wort) ==
rem == => ES = Segment von FirstPCCustomer ==
rem == <= AL = Fehler (0 = Kein Fehler) ==
rem == <= DI = Offset auf ServiceData-Struktur ==
rem == ==
rem == AH=12: CallService ==
rem == => DI = Service ==
rem == ==
rem == AH=13: ReleaseService ==
rem == => DI = Service ==
rem == ==
rem == AH=15: LockService ==
rem == => DI = Service ==
rem == ==
rem == AH=16: UnLockService ==
rem == => DI = Service ==
rem == ==
rem ==============================================================
$INCLUDE "REGNAMES.INC"
def seg = &hd000
cls
rAH=11 : rem GetS
rAL=&H10+&H40+&H80
rCX=20
rDI=1000
rSI=20
rDS=0
rES=&HD000
poke 1000,&HB8
poke 1001,&H00
poke 1002,&H00
poke 1003,&HCD
poke 1004,&H10
poke 1005,&HB2
poke 1006,&H55
poke 1007,&HB4
poke 1008,&H06
poke 1009,&HCD
poke 1010,&H21
poke 1011,&HCB
rem CB=RETF
rem C3=RET
rem CF=IRET
REG %AX,(rAH*256)+rAL
REG %CX,rCX
REG %DI,rDI
REG %SI,rSI
REG %DS,rDS
REG %ES,rES
call interrupt &HB
rAX=REG(%AX)
x=varptr(rAX)
l=peek(x+0)
c=peek(x+1)
serv=reg(%DI)
if l=0 and c=0 and serv>0 then
?"Service: ";serv
?"PCServer: ";hex$(peeki(serv+30));" ";hex$(peeki(serv+32))
?"AmigaUserCount:";peek(serv+9)
?"PCUserCount: ";peek(serv+10)
chk&=0 : x&=-1
?"<< berwache >>"
while inkey$=""
chk&=0
for i=0 to 11
chk&=chk& + peek(1000+i)
next
if chk&<>x& then
x&=chk&
for i=0 to 11
?hex$(peek(1000+i));" ";
next
?""
end if
wend
REG %DI,serv
REG %AX,(13*256)
CALL INTERRUPT &H0B
else
?"Service existiert nicht."
end if
ende:
?"<< Taste >>"
end